Mobile devices including wireless communication devices, such as cellular phones, personal digital assistants and the like, include microprocessors, input devices including a keypad, special function buttons and wheels, output devices, information storage capabilities, and run one or more software applications. Examples of software applications used in these wireless devices include micro-browsers, address books, and email clients. Additionally, current generations of such devices have access to a plurality of services via the Internet. A wireless device may, for example, be used to browse web sites on the Internet, to transmit and receive graphics, and to execute streaming audio and/or video applications.
Once the device has left the factory, in order to install an application onto a mobile device a user or service technician typically downloads the application and installs it onto a PC, connects the mobile device to the PC and runs the installer on the PC to load the application onto the device. This process requires the two steps of downloading to the PC and then to the mobile device. But another problem is that often there are multiple different forms of the application to be installed which vary depending on the intended target mobile device. The application to be downloaded may need to be selected or configured based on the specific hardware model or version of the operating system, the carrier or the deployment system for the mobile device.
Currently, a way to deal with this problem is to either: (a) ask the user to specify the mobile device's model in the first step of the download or (b) include all the different forms of the application in the first download. Solution (a) is problematic because it may not be easy for the user to tell which model the user has or what version of the operating system is on the device. Furthermore this is a compounded problem if the software is being installed on a PC with the intent of deploying it to multiple mobile devices (e.g. in an enterprise context). Solution (b) may contribute dramatically to the size of the initial download. A problem which may occur with both solutions, but particularly (b), happens when the application is updated between the first two steps (e.g. a new model comes out) there is no way to update the applications.
As well, another problem is that often an application may need to remove or update other software in order to run successfully. A similar problem exists when users wish to report a bug or diagnose a problem with their mobile device. It is often difficult for users to obtain the appropriate information required to successfully diagnose a problem.
Accordingly, a solution that addresses, at least in part, the above and other shortcomings is desired.
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.